Lines Matching refs:data

430 	ipv6h = (const struct ipv6hdr *)skb->data;
456 teli = ip6_tnl_parse_tlv_enc_lim(skb, skb->data);
459 tel = (struct ipv6_tlv_tnl_enc_lim *) &skb->data[teli];
532 ershdr = (struct erspan_base_hdr *)skb->data;
755 fl6->daddr = ((struct ipv6hdr *)skb->data)->daddr;
1265 struct ifreq *ifr, void __user *data,
1280 if (copy_from_user(&p, data, sizeof(p))) {
1291 if (copy_to_user(data, &p, sizeof(p)))
1302 if (copy_from_user(&p, data, sizeof(p)))
1339 if (copy_to_user(data, &p, sizeof(p)))
1352 if (copy_from_user(&p, data, sizeof(p)))
1654 static int ip6gre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[],
1659 if (!data)
1663 if (data[IFLA_GRE_IFLAGS])
1664 flags |= nla_get_be16(data[IFLA_GRE_IFLAGS]);
1665 if (data[IFLA_GRE_OFLAGS])
1666 flags |= nla_get_be16(data[IFLA_GRE_OFLAGS]);
1673 static int ip6gre_tap_validate(struct nlattr *tb[], struct nlattr *data[],
1685 if (!data)
1688 if (data[IFLA_GRE_REMOTE]) {
1689 daddr = nla_get_in6_addr(data[IFLA_GRE_REMOTE]);
1695 return ip6gre_tunnel_validate(tb, data, extack);
1698 static int ip6erspan_tap_validate(struct nlattr *tb[], struct nlattr *data[],
1704 if (!data)
1707 ret = ip6gre_tap_validate(tb, data, extack);
1712 if (data[IFLA_GRE_OFLAGS])
1713 flags |= nla_get_be16(data[IFLA_GRE_OFLAGS]);
1714 if (data[IFLA_GRE_IFLAGS])
1715 flags |= nla_get_be16(data[IFLA_GRE_IFLAGS]);
1716 if (!data[IFLA_GRE_COLLECT_METADATA] &&
1723 if (data[IFLA_GRE_IKEY] &&
1724 (ntohl(nla_get_be32(data[IFLA_GRE_IKEY])) & ~ID_MASK))
1727 if (data[IFLA_GRE_OKEY] &&
1728 (ntohl(nla_get_be32(data[IFLA_GRE_OKEY])) & ~ID_MASK))
1731 if (data[IFLA_GRE_ERSPAN_VER]) {
1732 ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]);
1738 if (data[IFLA_GRE_ERSPAN_INDEX]) {
1739 u32 index = nla_get_u32(data[IFLA_GRE_ERSPAN_INDEX]);
1745 if (data[IFLA_GRE_ERSPAN_DIR]) {
1746 u16 dir = nla_get_u8(data[IFLA_GRE_ERSPAN_DIR]);
1752 if (data[IFLA_GRE_ERSPAN_HWID]) {
1753 u16 hwid = nla_get_u16(data[IFLA_GRE_ERSPAN_HWID]);
1763 static void ip6erspan_set_version(struct nlattr *data[],
1766 if (!data)
1770 if (data[IFLA_GRE_ERSPAN_VER])
1771 parms->erspan_ver = nla_get_u8(data[IFLA_GRE_ERSPAN_VER]);
1774 if (data[IFLA_GRE_ERSPAN_INDEX])
1775 parms->index = nla_get_u32(data[IFLA_GRE_ERSPAN_INDEX]);
1777 if (data[IFLA_GRE_ERSPAN_DIR])
1778 parms->dir = nla_get_u8(data[IFLA_GRE_ERSPAN_DIR]);
1779 if (data[IFLA_GRE_ERSPAN_HWID])
1780 parms->hwid = nla_get_u16(data[IFLA_GRE_ERSPAN_HWID]);
1784 static void ip6gre_netlink_parms(struct nlattr *data[],
1789 if (!data)
1792 if (data[IFLA_GRE_LINK])
1793 parms->link = nla_get_u32(data[IFLA_GRE_LINK]);
1795 if (data[IFLA_GRE_IFLAGS])
1797 nla_get_be16(data[IFLA_GRE_IFLAGS]));
1799 if (data[IFLA_GRE_OFLAGS])
1801 nla_get_be16(data[IFLA_GRE_OFLAGS]));
1803 if (data[IFLA_GRE_IKEY])
1804 parms->i_key = nla_get_be32(data[IFLA_GRE_IKEY]);
1806 if (data[IFLA_GRE_OKEY])
1807 parms->o_key = nla_get_be32(data[IFLA_GRE_OKEY]);
1809 if (data[IFLA_GRE_LOCAL])
1810 parms->laddr = nla_get_in6_addr(data[IFLA_GRE_LOCAL]);
1812 if (data[IFLA_GRE_REMOTE])
1813 parms->raddr = nla_get_in6_addr(data[IFLA_GRE_REMOTE]);
1815 if (data[IFLA_GRE_TTL])
1816 parms->hop_limit = nla_get_u8(data[IFLA_GRE_TTL]);
1818 if (data[IFLA_GRE_ENCAP_LIMIT])
1819 parms->encap_limit = nla_get_u8(data[IFLA_GRE_ENCAP_LIMIT]);
1821 if (data[IFLA_GRE_FLOWINFO])
1822 parms->flowinfo = nla_get_be32(data[IFLA_GRE_FLOWINFO]);
1824 if (data[IFLA_GRE_FLAGS])
1825 parms->flags = nla_get_u32(data[IFLA_GRE_FLAGS]);
1827 if (data[IFLA_GRE_FWMARK])
1828 parms->fwmark = nla_get_u32(data[IFLA_GRE_FWMARK]);
1830 if (data[IFLA_GRE_COLLECT_METADATA])
1942 static bool ip6gre_netlink_encap_parms(struct nlattr *data[],
1949 if (!data)
1952 if (data[IFLA_GRE_ENCAP_TYPE]) {
1954 ipencap->type = nla_get_u16(data[IFLA_GRE_ENCAP_TYPE]);
1957 if (data[IFLA_GRE_ENCAP_FLAGS]) {
1959 ipencap->flags = nla_get_u16(data[IFLA_GRE_ENCAP_FLAGS]);
1962 if (data[IFLA_GRE_ENCAP_SPORT]) {
1964 ipencap->sport = nla_get_be16(data[IFLA_GRE_ENCAP_SPORT]);
1967 if (data[IFLA_GRE_ENCAP_DPORT]) {
1969 ipencap->dport = nla_get_be16(data[IFLA_GRE_ENCAP_DPORT]);
1976 struct nlattr *tb[], struct nlattr *data[],
1985 if (ip6gre_netlink_encap_parms(data, &ipencap)) {
2010 struct nlattr *tb[], struct nlattr *data[],
2018 ip6gre_netlink_parms(data, &nt->parms);
2029 err = ip6gre_newlink_common(src_net, dev, tb, data, extack);
2040 struct nlattr *data[], struct __ip6_tnl_parm *p_p,
2051 if (ip6gre_netlink_encap_parms(data, &ipencap)) {
2058 ip6gre_netlink_parms(data, p_p);
2073 struct nlattr *data[],
2080 t = ip6gre_changelink_common(dev, tb, data, &p, extack);
2243 struct nlattr *tb[], struct nlattr *data[],
2251 ip6gre_netlink_parms(data, &nt->parms);
2252 ip6erspan_set_version(data, &nt->parms);
2263 err = ip6gre_newlink_common(src_net, dev, tb, data, extack);
2287 struct nlattr *data[],
2294 t = ip6gre_changelink_common(dev, tb, data, &p, extack);
2298 ip6erspan_set_version(data, &p);