llc
m_adj(m, sizeof(struct llc));
struct llc *snap;
snap = (struct llc *)&frame[1];
intel_llc_enable(>->llc);
intel_llc_disable(>->llc);
DEFINE_INTEL_GT_DEBUGFS_ATTRIBUTE(llc);
struct intel_llc llc;
static void gen6_update_ring_freq(struct intel_llc *llc)
if (!get_ia_constants(llc, &consts))
calc_ia_freq(llc, gpu_freq, &consts, &ia_freq, &ring_freq);
snb_pcode_write(llc_to_gt(llc)->uncore, GEN6_PCODE_WRITE_MIN_FREQ_TABLE,
void intel_llc_enable(struct intel_llc *llc)
gen6_update_ring_freq(llc);
void intel_llc_disable(struct intel_llc *llc)
static struct intel_gt *llc_to_gt(struct intel_llc *llc)
return container_of(llc, struct intel_gt, llc);
static bool get_ia_constants(struct intel_llc *llc,
struct drm_i915_private *i915 = llc_to_gt(llc)->i915;
struct intel_rps *rps = &llc_to_gt(llc)->rps;
intel_uncore_read(llc_to_gt(llc)->uncore, DCLK) & 0xf;
static void calc_ia_freq(struct intel_llc *llc,
struct drm_i915_private *i915 = llc_to_gt(llc)->i915;
void intel_llc_enable(struct intel_llc *llc);
void intel_llc_disable(struct intel_llc *llc);
err = st_llc_verify(>->llc);
struct drm_i915_private *i915 = llc_to_gt(llc)->i915;
wakeref = intel_runtime_pm_get(llc_to_gt(llc)->uncore->rpm);
if (!get_ia_constants(llc, &consts))
struct intel_rps *rps = &llc_to_gt(llc)->rps;
calc_ia_freq(llc, gpu_freq, &consts, &ia_freq, &ring_freq);
if (snb_pcode_read(llc_to_gt(llc)->uncore, GEN6_PCODE_READ_MIN_FREQ_TABLE,
intel_runtime_pm_put(llc_to_gt(llc)->uncore->rpm, wakeref);
int st_llc_verify(struct intel_llc *llc)
return gen6_verify_ring_freq(llc);
static int gen6_verify_ring_freq(struct intel_llc *llc)
int st_llc_verify(struct intel_llc *llc);
i = (ETHER_ADDR_LEN * 2) + sizeof(struct llc);
rxdesc->pkglen -= sizeof(struct llc);
struct mbuf *, int, struct llc *, int, int, int);
int bridge_ipsec(struct ifnet *, struct ether_header *, int, struct llc *,
struct llc llc;
m_copydata(m, ETHER_HDR_LEN, LLC_SNAPFRAMELEN, &llc);
etype = ntohs(llc.llc_snap.ether_type);
if (llc.llc_dsap == LLC_SNAP_LSAP &&
llc.llc_ssap == LLC_SNAP_LSAP &&
llc.llc_control == LLC_UI &&
llc.llc_snap.org_code[0] == 0 &&
llc.llc_snap.org_code[1] == 0 &&
llc.llc_snap.org_code[2] == 0 &&
struct llc *llc, int dir, int af, int hlen, struct mbuf *m)
hassnap, llc, tdb->tdb_mtu,
struct llc llc;
m_copydata(m, ETHER_HDR_LEN, LLC_SNAPFRAMELEN, &llc);
if (llc.llc_dsap != LLC_SNAP_LSAP ||
llc.llc_ssap != LLC_SNAP_LSAP ||
llc.llc_control != LLC_UI ||
llc.llc_snap.org_code[0] ||
llc.llc_snap.org_code[1] ||
llc.llc_snap.org_code[2])
etype = ntohs(llc.llc_snap.ether_type);
bridge_ipsec(ifp, eh, hassnap, &llc, dir, AF_INET, hlen, m))
bridge_ipsec(ifp, eh, hassnap, &llc, dir, AF_INET6, hlen,
bcopy(&llc, mtod(m, caddr_t), LLC_SNAPFRAMELEN);
struct llc llc;
m_copydata(m, ETHER_HDR_LEN, LLC_SNAPFRAMELEN, &llc);
if (llc.llc_dsap != LLC_SNAP_LSAP ||
llc.llc_ssap != LLC_SNAP_LSAP ||
llc.llc_control != LLC_UI ||
llc.llc_snap.org_code[0] ||
llc.llc_snap.org_code[1] ||
llc.llc_snap.org_code[2] ||
llc.llc_snap.ether_type != htons(ETHERTYPE_IP))
bridge_send_icmp_err(ifp, eh, m, hassnap, &llc,
bcopy(&llc, mtod(m, caddr_t), LLC_SNAPFRAMELEN);
struct ether_header *eh, struct mbuf *n, int hassnap, struct llc *llc,
bcopy(llc, mtod(m, caddr_t), LLC_SNAPFRAMELEN);
struct llc;
struct llc *llc;
llc = (struct llc *)((caddr_t)wh + hdrlen);
if (llc->llc_dsap == LLC_SNAP_LSAP &&
llc->llc_ssap == LLC_SNAP_LSAP &&
llc->llc_control == LLC_UI &&
llc->llc_snap.org_code[0] == 0 &&
llc->llc_snap.org_code[1] == 0 &&
llc->llc_snap.org_code[2] == 0) {
eh.ether_type = llc->llc_snap.ether_type;
struct llc *llc;
llc = (struct llc *)&eh[1];
if (llc->llc_dsap == LLC_SNAP_LSAP &&
llc->llc_ssap == LLC_SNAP_LSAP &&
llc->llc_control == LLC_UI &&
llc->llc_snap.org_code[0] == 0 &&
llc->llc_snap.org_code[1] == 0 &&
llc->llc_snap.org_code[2] == 0) {
eh->ether_type = llc->llc_snap.ether_type;
struct llc *llc;
llc = mtod(m, struct llc *);
llc->llc_dsap = llc->llc_ssap = LLC_SNAP_LSAP;
llc->llc_control = LLC_UI;
llc->llc_snap.org_code[0] = 0;
llc->llc_snap.org_code[1] = 0;
llc->llc_snap.org_code[2] = 0;
llc->llc_snap.ether_type = eh.ether_type;
struct llc x_llc;
struct hostapd_llc *llc;
llc = (struct hostapd_llc *)&buf;
memset(&llc->x_hdr.ether_dhost, 0xff,
sizeof(llc->x_hdr.ether_dhost));
bcopy(&node->ni_macaddr, &llc->x_hdr.ether_shost,
sizeof(llc->x_hdr.ether_shost));
llc->x_hdr.ether_type = htons(sizeof(buf));
llc->x_llc.llc_control = IAPP_LLC;
llc->x_llc.llc_fid = IAPP_LLC_XID;
llc->x_llc.llc_class = IAPP_LLC_CLASS;
llc->x_llc.llc_window = IAPP_LLC_WINDOW;
if (llc.ethertype[0] == 0x20 && llc.ethertype[1] == 0x00) {
if (llc.ethertype[0] == 0x01 && llc.ethertype[1] == 0x0b) {
printf("snap %s ", protoid_string(llc.llcpi));
caplen -= sizeof(llc);
length -= sizeof(llc);
p += sizeof(llc);
et = EXTRACT_16BITS(&llc.ethertype[0]);
if (llc.ssap == LLCSAP_8021D && llc.dsap == LLCSAP_8021D) {
if (llc.ssap == 0xf0 && llc.dsap == 0xf0) {
if ((llc.llcu & LLC_U_FMT) == LLC_U_FMT) {
control = llc.llcu;
control = llc.llcis;
if ((llc.ssap & ~LLC_GSAP) == llc.dsap) {
printf("%s ", llcsap_string(llc.dsap));
llcsap_string(llc.dsap));
llcsap_string(llc.ssap & ~LLC_GSAP),
llcsap_string(llc.dsap));
llcsap_string(llc.ssap & ~LLC_GSAP),
llcsap_string(llc.dsap));
if ((llc.llcu & LLC_U_FMT) == LLC_U_FMT) {
m = tok2str(cmd2str, "%02x", LLC_U_CMD(llc.llcu));
switch ((llc.ssap & LLC_GSAP) | (llc.llcu & LLC_U_POLL)) {
if ((llc.llcu & ~LLC_U_POLL) == LLC_XID) {
llc.llcis = ntohs(llc.llcis);
switch ((llc.ssap & LLC_GSAP) | (llc.llcu & LLC_U_POLL)) {
if ((llc.llcu & LLC_S_FMT) == LLC_S_FMT) {
llc_s[LLC_S_CMD(llc.llcis)],
LLC_IS_NR(llc.llcis),
LLC_I_NS(llc.llcis),
LLC_IS_NR(llc.llcis),
struct llc llc;
memcpy((char *)&llc, (char *)p, min(caplen, sizeof(llc)));
if (llc.ssap == LLCSAP_GLOBAL && llc.dsap == LLCSAP_GLOBAL) {
if (llc.ssap == LLCSAP_ISONS && llc.dsap == LLCSAP_ISONS
&& llc.llcui == LLC_UI) {
if (llc.ssap == LLCSAP_SNAP && llc.dsap == LLCSAP_SNAP
&& llc.llcui == LLC_UI) {
if (caplen < sizeof(llc)) {